package com.ibm.cloud.banking.account.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * account transaction detail entity
 * @author 
 */

public class AccountTransDetail implements Serializable {

	// 0－正常；1－冲正；2－被冲正
	public final  static String TRANSACTION_NORMAL = "0";
	public final  static String TRANSACTION_REVERSE = "1";
	public final  static String REVERSED_TRANSACTION = "2";
    private Long id;

    /**
     * 账号
     */
    private String accountNo;

    /**
     * 明细序号
     */
    private Integer sequence;

    /**
     * 币种:156-人民币 084-美元
     */
    private String currency;

    /**
     * 操作员号
     */
    private String operatorTellerId;

    /**
     * 冲正标志
     */
    private String reverseFlag;

    /**
     * 冲正日期
     */
    private Date reverseDate;

    /**
     * 活存帐户余额
     */
    private BigDecimal balance;

    /**
     * 交易金额
     */
    private BigDecimal amount;

    /**
     * 交易卡号
     */
    private String cardNo;

    /**
     * 交易流水号
     */
    private String transNo;

    /**
     * 借贷标志:C-贷   D-借
     */
    private String dcFlag;

    /**
     * 手续费
     */
    private BigDecimal serviceCharge;

    /**
     * 授权号
     */
    private String authCode;

    /**
     * 摘要代码
     */
    private String abstractCode;

    /**
     * 备注
     */
    private String comment;

    /**
     * 交易日期
     */
    private Date transDate;

    /**
     * 交易时间
     */
    private Date transTime;

    /**
     * 系统日期
     */
    private Date systemDate;

    /**
     * 交易代码
     */
    private String transCode;

    /**
     * 对方行号
     */
    private String transOutBankNumber;

    /**
     * 对方帐号
     */
    private String transOutAccountNo;

    /**
     * 对方户名
     */
    private String transOutAccountName;

    /**
     * 代理人姓名
     */
    private String agentName;

    /**
     * 代理人证件类型
     */
    private String agentIdType;

    /**
     * 代理人证件号码
     */
    private String agentIdNo;

    /**
     * 代理人联系方式
     */
    private String agentPhone;

    /**
     * 交易发起渠道编号:01-柜面  02-ATM 03-网银 04-手机银行 05-网联支付
     */
    private String initiationChannelNo;

    /**
     * 接入渠道编号:01-柜面  02-ATM 03-网银 04-手机银行 05-网联支付 06-中间业务系统 07-国结系统
     */
    private String accessChannelNo;

    /**
     * 创建时间
     */
    private Date createDt;

    /**
     * 修改时间
     */
    private Date updateDt;

    private Integer shardingId;
    
    

    public Long getId() {
		return id;
	}



	public void setId(Long id) {
		this.id = id;
	}



	public String getAccountNo() {
		return accountNo;
	}



	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}



	public Integer getSequence() {
		return sequence;
	}



	public void setSequence(Integer sequence) {
		this.sequence = sequence;
	}



	public String getCurrency() {
		return currency;
	}



	public void setCurrency(String currency) {
		this.currency = currency;
	}



	public String getOperatorTellerId() {
		return operatorTellerId;
	}



	public void setOperatorTellerId(String operatorTellerId) {
		this.operatorTellerId = operatorTellerId;
	}



	public String getReverseFlag() {
		return reverseFlag;
	}



	public void setReverseFlag(String reverseFlag) {
		this.reverseFlag = reverseFlag;
	}



	public Date getReverseDate() {
		return reverseDate;
	}



	public void setReverseDate(Date reverseDate) {
		this.reverseDate = reverseDate;
	}



	public BigDecimal getBalance() {
		return balance;
	}



	public void setBalance(BigDecimal balance) {
		this.balance = balance;
	}



	public BigDecimal getAmount() {
		return amount;
	}



	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}



	public String getCardNo() {
		return cardNo;
	}



	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}



	public String getTransNo() {
		return transNo;
	}



	public void setTransNo(String transNo) {
		this.transNo = transNo;
	}



	public String getDcFlag() {
		return dcFlag;
	}



	public void setDcFlag(String dcFlag) {
		this.dcFlag = dcFlag;
	}


	public BigDecimal getServiceCharge() {
		return serviceCharge;
	}



	public void setServiceCharge(BigDecimal serviceCharge) {
		this.serviceCharge = serviceCharge;
	}



	public String getAuthCode() {
		return authCode;
	}



	public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}



	public String getAbstractCode() {
		return abstractCode;
	}



	public void setAbstractCode(String abstractCode) {
		this.abstractCode = abstractCode;
	}



	public String getComment() {
		return comment;
	}



	public void setComment(String comment) {
		this.comment = comment;
	}



	public Date getTransDate() {
		return transDate;
	}



	public void setTransDate(Date transDate) {
		this.transDate = transDate;
	}



	public Date getTransTime() {
		return transTime;
	}



	public void setTransTime(Date transTime) {
		this.transTime = transTime;
	}



	public Date getSystemDate() {
		return systemDate;
	}



	public void setSystemDate(Date systemDate) {
		this.systemDate = systemDate;
	}



	public String getTransCode() {
		return transCode;
	}



	public void setTransCode(String transCode) {
		this.transCode = transCode;
	}



	public String getTransOutBankNumber() {
		return transOutBankNumber;
	}



	public void setTransOutBankNumber(String transOutBankNumber) {
		this.transOutBankNumber = transOutBankNumber;
	}



	public String getTransOutAccountNo() {
		return transOutAccountNo;
	}



	public void setTransOutAccountNo(String transOutAccountNo) {
		this.transOutAccountNo = transOutAccountNo;
	}



	public String getTransOutAccountName() {
		return transOutAccountName;
	}



	public void setTransOutAccountName(String transOutAccountName) {
		this.transOutAccountName = transOutAccountName;
	}



	public String getAgentName() {
		return agentName;
	}



	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}



	public String getAgentIdType() {
		return agentIdType;
	}



	public void setAgentIdType(String agentIdType) {
		this.agentIdType = agentIdType;
	}



	public String getAgentIdNo() {
		return agentIdNo;
	}



	public void setAgentIdNo(String agentIdNo) {
		this.agentIdNo = agentIdNo;
	}



	public String getAgentPhone() {
		return agentPhone;
	}



	public void setAgentPhone(String agentPhone) {
		this.agentPhone = agentPhone;
	}



	public String getInitiationChannelNo() {
		return initiationChannelNo;
	}



	public void setInitiationChannelNo(String initiationChannelNo) {
		this.initiationChannelNo = initiationChannelNo;
	}



	public String getAccessChannelNo() {
		return accessChannelNo;
	}



	public void setAccessChannelNo(String accessChannelNo) {
		this.accessChannelNo = accessChannelNo;
	}



	public Date getCreateDt() {
		return createDt;
	}



	public void setCreateDt(Date createDt) {
		this.createDt = createDt;
	}



	public Date getUpdateDt() {
		return updateDt;
	}



	public void setUpdateDt(Date updateDt) {
		this.updateDt = updateDt;
	}



	public Integer getShardingId() {
		return shardingId;
	}



	public void setShardingId(Integer shardingId) {
		this.shardingId = shardingId;
	}



	private static final long serialVersionUID = 1L;
}